package com.zhzt.grpcapi.constant;

import io.grpc.Context;
import io.jsonwebtoken.security.Keys;

import javax.crypto.SecretKey;

public interface AuthConstant {

    /**这个是生成 JWT 字符串以及进行 JWT 字符串校验的密钥。*/
    SecretKey JWT_KEY = Keys.hmacShaKeyFor("abcdefghijklmnopqrstuvwxyz".getBytes());

    /**这个是客户端的 ID，即客户端发送来的请求携带了 JWT 字符串，通过 JWT 字符串确认了用户身份，就存在这个变量中。*/
    Context.Key<String> AUTH_CLIENT_ID = Context.key("clientId");

    /**这个是携带 JWT 字符串的请求头的 KEY。*/
    String AUTH_HEADER = "Authorization";

    /**这个是携带 JWT 字符串的请求头的参数前缀，通过这个可以确认参数的类型，常见取值有 Bearer 和 Basic。*/
    String AUTH_TOKEN_TYPE = "Bearer";
}
